import { debounce, getStorage } from '@zzcpt/zztool';
import {message} from "./message"
/**
 * 四个平台的下载
 */
const BASE_API = import.meta.env.VITE_BASE_API;
const downloadUrl = {
  MD:`${BASE_API}/*/*/*`,
}
/**
 * shared
 * 下载文件
 */
export const downloadFile = (id,type) => { 
  if (!id) {
    message.warning('请选择文件')
    return
  }
  debounce(() => {
    fetch(downloadUrl[type] + `?order_sn=${id}`, {
      method: 'POST',
      headers: {
        'Admin-Token': getStorage('userInfo.token') || ''
        // 'Content-Type': 'application/json',
      }
    })
    .then(res => {
      if (!res.ok) {
        return message.error('下载失败')
      };
      return res.blob();
    })
    .then(blob => {
      const downloadUrl = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = downloadUrl;
      document.body.appendChild(a); // 某些浏览器需要挂载
      a.click();
      a.remove();
      URL.revokeObjectURL(downloadUrl);
    })
    .catch(err => {
      message.error('下载失败');
    });
  },500)
  


  // fetch(url,{method:'POST'})
  // .then(res => res.json())
  // .then(data => {
  //   console.log(data)
  //   const url = data.data.file_url; // 接口返回的下载链接
  //   downloadFromUrl(url); // 可选设置文件名
  // }).catch(err => { 
  //   message.error('下载失败')
  //   console.error(err)
  // });
}
function downloadFromUrl(url, filename = '') {
  const a = document.createElement('a');
  a.href = url;
  a.download
  a.click();
  a.remove();
}